The use of self movable robots to form structures has long been discussed but rarely implemented. Known as metamorphosing robots, polymorphic robots, shape changing robots, or morphable structures, in principle, such collections of modular robots can act together to build a structure or perform a given task. However, problems with construction, control, and power delivery to large numbers of robots have greatly limited use of self movable robots.
The present invention provides self movable robots having suitable construction, control, and power mechanisms to allow use of large numbers of robots in many applications. Self movable robots in accordance with the present invention can be used for locomotion over a variety of terrains (for payload delivery, or inspection, or exploration), for dynamically forming structures (bridges, walls, chairs), 3D visualization (forming arbitrary shapes), tactile displays, or even dynamic embossing (e.g. forming the print head of stamping machines). Typically, many small self movable robots (e.g. each less than 10 cubic centimeters in volume) having substantially identical construction are used. This advantageously provides robots that can be packed to fill space with minimal gaps, and allows assemblages of robots to achieve structural change by maneuvering around each other. Further, construction of large numbers of small modular robots permits more degrees of freedom than a smaller number of larger units, while also allowing for ready replacement of failed modules. Such multiple robot systems have an inherent redundancy with a large gradation of failure modes, usually providing a graceful rather than catastrophic failure of the system. Each robotic module contains a mechanism allowing for communication and transfer of power between adjacent modules, defining a robot whole to be all the modules in one connected component.
In one preferred mode, the present invention uses a rhombic dodecahedron or similar shape that is packable in a face centered cubic lattice as a guide to building a structural framework for each robotic module. The framework defines at least one of a set of vertex elements, edge elements, or face elements, that are together or separately shaped as a space filling rhombic dodecahedron. A movement mechanism mechanically moves the framework relative to other robotic modules. This may be a pivot mechanism attached to the framework to permit rotation of the framework with respect to other movable robotic modules, or other suitable mechanism for imparting translational or rotational forces to the robotic module. A power unit is connected to the movement mechanism to supply operational power for movement, and a control unit connected to the movement mechanism and the power unit to control movement of the framework. The power and control units can be externally or internally mounted with respect to each module, although internally mounted power switching units will generally be required if an external power supply is used to power the robotic modules.
In certain embodiments the framework substantially consists of vertex elements radiating from a center connection, with the pivot mechanism attached to each respective vertex of the vertex elements. Alternatively, the framework can substantially consists of edge (or face) elements joined together to substantially define a space filling rhombic dodecahedron, with the pivot mechanism attached to each respective edge (or face) of the edge elements. As will be appreciated, the movement (or pivot) mechanism can be electromechanical, piezoreactive, electrically triggered shape memory alloy based, hydraulic, pneumatic, gravitationally assisted, based on contractile polymers or retractable wires, or based on any other suitable mechanism capable of initiating translational or rotational movement of the robotic modules.
Advantageously, a rhombic dodecahedron can be stacked in dense, space filling three dimensional arrays. Each face, edge, or vertex can support electrical plates, conductors, or other suitable connectors for transferring electrical power or data between robotic modules. In certain configurations, an assemblage of robotic modules can create three dimensional voids, concavities, overhangs, or undercuts to model or present complex three dimensional structures. Such assemblages can be formed by direct guidance from an external control unit (e.g. a computer) that addresses each robotic module and provides specific movement orders to each robotic module. Alternatively, a distributed control unit defined at least in part by a plurality of individual control units in each of the plurality of robotic modules can be used alone or in conjunction with an external control unit to guide assembly.
One particularly preferred method for defining structure assembly from an assemblage of movable robotic modules, requires provision of a set of goals, constraints or guidelines for position of movable robotic modules. Each movable robotic module is required to move toward one member of the set of goals while passing information about goal state for the set of goals from each of the movable robotic modules to adjacent movable robotic modules. Such an assembly procedure causes a particular structure to be gradually built without requiring the substantial computational overhead associated with global (overall) control methods that specifically direct movement and position of each robotic module.
The foregoing system for constructing and assembling large numbers of modular robots is particularly useful in conjunction with a touchable user output interface to a computer system. Such a system can encompass a plurality of robotic modules, each robotic module substantially shaped to at least in part define a polyhedra (including space filling polyhedra such as a rhombic dodecahedron, hexagonal prisms, or cubes, or non-space filling polyhedra such as an octahedra or dodecahedron). Each robotic module is self movable with respect to adjacent robotic modules, and can include a control unit for directing assembly of a predetermined structure from the plurality of robotic modules to provide a visible and tactile output from the computer system. Each robotic module can also include a sensor for detecting user input. When used in conjunction with a detection unit for monitoring changes (in position, in pressure, in detected light, or other suitable sensable state), the plurality of robotic modules can provide input to the computer system.
For example, information from a three dimensional CAD/CAM program can be used to define a three dimensional structure capable of being dynamically constructed by assembling hundreds or thousands of robotic modules into a visual and tactile display. A user can touch areas of the three dimensional structure, and sensed movement, pressure or light changes detected by the robotic modules can be used as input to the CAD/CAM program. A user can interactively create, modify, view, or touch both the actual structure and the virtual CAD/CAM representation using such a system. In addition to using such dynamically defined structures as a computer interface for a user, the assemblage of robotic modules can be used to create molds, relief structures (including, for example, viewable terrain maps or embossing stamps), or any other suitable purpose benefiting from quick and efficient structural reconfiguration.
As important as construction and control, provision of an adequate power supply to large numbers of modules is critical to operation of the present invention. While internally mounted power supplies can be used (e.g. batteries, fuel cells, or photovoltaic), it is generally preferable to have an available external power source. Unfortunately, traditional bus based voltage power supplies are not generally suitable for powering large numbers of regularly or irregularly stacked modules, many of which are not easily connectable to a fixed bus. The known alternative, chaining modules to provide a linked power bus connectable to a voltage power supply, also does not work when large numbers of modules are used. For example, in the standard constant voltage method, current travels in parallel through each module, with each module drawing a determined load. In order for such a system to work, the resistance in the power bus through the modules must be small enough so that the modules furthest from the power supply do not see a significant drop in voltage. This reduction in resistance is typically achieved by increasing the size of the connections or wires. In addition, the power dissipated by each module is a function of the resistance squared. Unfortunately, the power dissipation for each module must be designed for the worst case; with all power running through one module. In operation, this means that the worst case module has some constant voltage (for example 5V) with the current running through it that goes through all the modules. If each module requires 100 mA, and there are 1000 modules, then the worst case module has 100 A running through it. Using standard copper wire, the linked power bus through the modules would require large wires that would dominate the size and weight of the whole device. Such a constraint makes voltage power supply to large numbers of modules generally impractical for more than a few dozen linked modules.
The present invention provides a novel alternative for powering large numbers of linked modules. A plurality of modules, each module having power connection plates, includes a single dynamically defined root power connection plate, and at least one dynamically defined branch power connection plate. Each module further has a power distribution controller for dynamically defining (via mechanical, electromechanical, analog electronics, digital electronics, or software controlled digital switches) the single root power connection plate and branch power connection plates. Power is only distributed between the plurality of modules from branch power connection plates to root power connection plates of those modules connected by power connection plates. If a constant current power supply is connected to the one of the plurality of modules to provide a substantially constant current to all of the plurality of modules connected together by power connection plates, each module draws power from the bus by using some voltage drop across the module (increasing the voltage requirement from the power supply). Advantageously, each module draws the power it needs independent of any other power requirements of other modules, no matter how many modules are present in the assemblage. As will be appreciated, powering large numbers of modules in a similar manner cannot be achieved with a constant voltage supply, since the linked power bus would need to have effectively zero resistance.
The problem of determining which links must be made to provide a linked power bus suitable for implementing a constant current system can be globally addressed by a suitable external power switching control system. Any link system must act to so that each connected power supply only has a single associated power loop, and consequently supplies the same current to each module in the loop. This constraint can be difficult to determine in systems susceptible to failure or rapid power reconfiguration as additional modules are inserted, modules are removed, or modules fail.
The present invention provides for a local method for dynamically reconfiguring switched connection paths between multiple electronic modules, where each electronic module has N connections and only one current loop is formed for each attached power supply. In operation, a single root switch is determined for each electronic module (this switch can be a mechanical, electromechanical, magnetic, electrical, or even optical contact, connection plate, or other suitable switch element) with the remaining N-1 connections in each electronic module tagged as branch switches (which again can be a mechanical, electromechanical, magnetic, electrical, or even optical contact, connection plate, or other suitable switch element). A continuous switched connection path is then maintained through multiple electronic modules, with a first set of N.gtoreq.1 branch switches in each electronic module connecting to the single root switch of another connected electronic module, and a second set of N.gtoreq.0 branch switches being inactivated to prevent branch switch to branch switch connections between electronic modules. Such a system supports modules ordered in linear arrays, branched arrays, three dimensional arrays, loops, or even three dimensional structures having voids or cavities. Advantageously, multiple power supplies can be connected to assemblages of modules, with multiple closed electrical paths being formed to supply power to all the modules.